A convolutional neural network (CNN or ConvNet) is a type of artificial neural network in machine learning. It is commonly used in analyzing visual imagery, for example, image recognition and classification. For example, in a training phase of a machine learning process, a CNN can be trained or learned based on training data. Then, in a prediction phase of a machine learning process, the trained CNN serves as a model that receives input data and outputs predictions or decisions based on processing and analyzing the input data.